home *** CD-ROM | disk | FTP | other *** search
/ KeyGen Studio 2002 / KeyGen_Studio_2002.iso / Tutorials / Code Inside / Tut2.txt < prev    next >
Encoding:
Text File  |  2001-09-21  |  4.3 KB  |  126 lines

  1. *************************************************************************************************
  2.                       abex' 3rd CrackMe
  3. *************************************************************************************************
  4.  
  5. Author:        abex
  6. Protection:    KeyFile
  7. URL:        http://www.l2c-board.de/crackmes/l2cabxc3.zip
  8. Tools used:    SoftICE
  9.  
  10.  
  11. --->    Intro
  12.  
  13. Hi and welcome to my next tutorial =)
  14. In this CrackMe we need to create a KeyFile in order to Crack it.
  15. Im trying to tell it as detailed as i can =)
  16.  
  17.  
  18. --->    Let's Begin...
  19.  
  20. Open up the CrackMe and you'll get a Message Box saying:
  21.  
  22.  
  23. "Click OK to check for the KeyFile."
  24.  
  25.  
  26. Hmmm so it hasn't checked for the KeyFile at the beginning...
  27. This makes it a little bit easier for us =)
  28. So anyway Click on OK and you will get this Message Box saying:
  29.  
  30.  
  31. "Hmmmmm, I can't find the file!"
  32.  
  33.  
  34. Ok, that's reasonable =)
  35. Now press OK and fire up the CrackMe again don't press OK yet.
  36. Get into SoftICE (CTRL + D) and type "bpx CreateFileA" press enter and leave SoftICE (F5)
  37. and press now OK and we're back in SoftICE.
  38. Your now in the beginning of the CreateFileA Code.
  39. Now i'm gonna give you a little trick for finding the right KeyFile name, Press (F10) a few
  40. times till you reach this Code:
  41.  
  42.  
  43. MOV    EDI, DWORD PTR [ESP+14]
  44.  
  45.  
  46. Step over this Code and do a "d edi" and you'll see the right KeyFile name =)
  47. That's very logical because the function CreateFileA needs to know the filename so it must be
  48. somewhere in it =)
  49. Ok, now we know the name now we can create the file so i suggest to get out of SoftICE (F5).
  50. (we can trace further till the CrackMe Code but we will be kicked out of it because we don't
  51. have the correct KeyFile =)
  52. Now we're getting the same Message Box again saying that he didn't find the file press OK.
  53. Now create the file (abex.l2c) with whatever you want and put some text in it like "Hello" =)
  54. Save it in the same directory as the CrackMe and run the CrackMe again.
  55. Now press OK and we're getting a Message Box saying:
  56.  
  57.  
  58. "The found file is not a valid keyfile!"
  59.  
  60.  
  61. Hmmm... we have the right file but there's missing something so...
  62. press OK and run the CrackMe again don't press OK but get into SoftICE (CTRL + D) and type
  63. "bpx CreateFileA" press enter and leave SoftICE (F5) then press OK and we're back in SoftICE.
  64. We're back in the CreateFileA Code but we can skip this now so press (F12) 1 time and we're in
  65. the CrackMe Code now you'll see this:
  66.  
  67.  
  68. MOV    DWORD PTR [004020CA], EAX  <--- saves the handle of the KeyFile.
  69. CMP    EAX, -01           <--- compare EAX with -01 (FFFFFFFF).
  70. JE    00401075           <--- jump if no KeyFile found.
  71.  
  72.  
  73. Now for us it won't jump because we created the correct KeyFile =)
  74. Ok now you'll see this Code below the jump:
  75.  
  76.  
  77. PUSH    00000000           <--- push 00000000 into Stack.
  78. PUSH    DWORD PTR [004020CA]       <--- push our KeyFile handle.
  79. CALL    [GetFileSize]           <--- calls the function GetFileSize.
  80. CMP    EAX, 12               <--- compare EAX with 12.
  81. JNE    00401060           <--- jump if not equal.
  82.  
  83.  
  84. Hmmm... GetFileSize, so as you see it checks for the correct value of
  85. bytes (19) because of the compare behind the function.
  86. So what do we know now the KeyFile must have the name "abex.l2c" and needs to be 19 bytes,
  87. not so difficult but before you leave SoftICE first take a look in the datawindow because he
  88. allready put a line of 19 bytes into it =)
  89. But it doesn't matter what you put in the KeyFile as long as it has 19 bytes.
  90. type "d 004020A6" to see the string of 19 bytes its:
  91.  
  92.  
  93. abexforlearn2crack    <--- 18 bytes but don't forget to count the NULL character (00).
  94.  
  95.  
  96. So now we know everything to crack the CrackMe:
  97.  
  98.  
  99. Make a file called "abex.l2c" (put in the same dir as the CrackMe).
  100. Make the file exactly 19 bytes (doesn't matter what you put into it).
  101.  
  102. If you have questions mail me at:    code.inside@home.nl
  103.  
  104.  
  105. --->    Outro...
  106.  
  107. Well i hope that you had some fun reading this or maybe you fell asleep but i just want to
  108. tell it very detailed so you better understand the program =)
  109. You can also patch the CrackMe but that's no fun so i'll leave it up to you.
  110. Thx for reading this tutorial and i'll hope to see you in the next tutorial.
  111.  
  112.  
  113. --->    Greetings...
  114.  
  115. Everybody at TrickSoft,
  116. Everybody at FCC,
  117. Everybody in #Cracking4Newbies and YOU =)
  118.  
  119.  
  120.          Don't trust the Outside, trust the InSiDe !!!!!
  121.  
  122.                  Cya...
  123.  
  124.                    CoDe_InSiDe
  125.  
  126. Email:    code.inside@home.nl